package com.wsj.service;

import java.util.List;

import com.wsj.util.exception.BusinessException;
import com.wsj.util.page.PageResultSet;
import com.wsj.web.form.researchReport.HomeSiteResearchReportFileUploadForm;
import com.wsj.web.subclass.displayBean.HomeSiteNews.HomeSiteUploadFileExtendBean;
import com.wsj.web.vo.homeSite.BmFileType;
import com.wsj.web.vo.homeSite.BmResearchInstitution;
import com.wsj.web.vo.homeSite.BmResearchReportType;
import com.wsj.web.vo.homeSite.CmQuotedCompany;
import com.wsj.web.vo.homeSite.HomeSiteUploadFile;

/****
 * 
 * @author fengbin  createTime:2009-7-25
 * 
 */
public interface IHomeSiteResearchReportFileUploadServ {

	
	/******
	 * 获取文件类型列表
	 * @return
	 */
	public List<BmFileType> getFileTypeListList() throws BusinessException;

	/******
	 * 获取研究机构列表
	 * @param request
	 * @return
	 */
	public List<BmResearchInstitution> getBmResearchInstitutionList()throws BusinessException;

	/******
	 * 获取研究报告类型列表
	 * @return
	 */
	public List<BmResearchReportType> getBmResearchReportTypeList()throws BusinessException;



	/********
	 * 获取受影响的主要的上市公司
	 * @param cmQuotedCompanyId
	 * @return
	 */
	public CmQuotedCompany getCmQuotedCompanyById(int cmQuotedCompanyId)throws BusinessException;
	
	/*****
	 * 通过股票的代码,获取上市公司对象
	 * @param stockNumId
	 * @return
	 */
	public CmQuotedCompany loadCmQuotedCompanyByStockNumId(String stockNumId)throws BusinessException;

	/******
	 * 获取文件类型
	 * @param bmFileTypeId
	 * @return
	 */
	public BmFileType getBmFileTypeById(int bmFileTypeId)throws BusinessException;

	/*******
	 * 通过id,获取研究机构对象
	 * @param bmResearchInstitutionId
	 * @return
	 */
	public BmResearchInstitution getBmResearchInstitutionById(int bmResearchInstitutionId)throws BusinessException;

	
	/********
	 * 通过id,获取研究报告类型id
	 * @param bmResearchReportTypeId
	 * @return
	 */
	public BmResearchReportType getBmResearchReportTypeById(int bmResearchReportTypeId)throws BusinessException;

	/******
	 * 添加研究报告
	 * @param homeSiteUploadFile
	 * @return
	 */
	public boolean addHomeSiteUploadFile(HomeSiteUploadFile homeSiteUploadFile)throws BusinessException;

	/*******
	 * 通过id,获取文件上传对象
	 * @param id
	 * @return
	 */
	public HomeSiteUploadFile getHomeSiteUploadFileById(Integer id)throws BusinessException;

	
	/*******
	 * 更新上传对象
	 * @param dbHomeSiteUploadFile
	 * @return
	 */
	public boolean updateHomeSiteUploadFile(HomeSiteUploadFile dbHomeSiteUploadFile)throws BusinessException;

	/********
	 * 搜索后台上传的研究报告
	 * @param homeSiteResearchReportFileUploadForm
	 * @param page
	 * @param pageSieze
	 * @return
	 */
	public PageResultSet searchResearchReportList(HomeSiteResearchReportFileUploadForm homeSiteResearchReportFileUploadForm, int page, int pageSize)throws BusinessException;

	/******
	 * 获取研究报告
	 * @param page
	 * @param pageSize
	 * @return
	 * @throws BusinessException
	 */
	public PageResultSet getAllResearchReportList(int page, int pageSize)throws BusinessException;

	/******
	 * 获取前几个研究报告
	 * @param i
	 * @return
	 * @throws BusinessException
	 */
	public List<HomeSiteUploadFile> getResearchReportTop(int top)throws BusinessException;

	
}
